﻿Imports EVOLTA.Promocion.Bl.Bc
Imports EVOLTA.Promocion.Bl.Be

Partial Class proyecto_proyecto
    Inherits System.Web.UI.Page

    Dim Evolta As Eevolta '= Nothing
    Dim proyectos As List(Of Eproyecto)
    Dim etapas As List(Of Eetapa)

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            Try
                If Request.QueryString("usuario") Is Nothing OrElse Request.QueryString("empresa") Is Nothing Then
                    If Me.Master.sEvolta Is Nothing Then
                        Response.Redirect(ConfigurationManager.AppSettings("cerrar").ToString)
                    End If
                Else
                    Evolta = New Eevolta
                    With Evolta
                        .mostrarMenu = Request.QueryString("menu").ToString
                        .descEmpresa = Request.QueryString("empresa").ToString
                        Me.Master.descEmpresa = .descEmpresa

                        .idUsuario = CType(Request.QueryString("idUsuario"), Int32)
                        Me.Master.idUsuario = .idUsuario

                        .descUsuario = Request.QueryString("usuario").ToString
                        Me.Master.descUsuario = .descUsuario

                        .idPerfilUsuario = CType(Request.QueryString("idPerfilUsuario"), Int32)
                        Me.Master.idPerfilUsuario = .idPerfilUsuario
                    End With
                    Me.Master.sEvolta = Evolta
                End If
                cargar_ProyectoEtapa()
            Catch ex As Exception
                Response.Redirect(ConfigurationManager.AppSettings("cerrar").ToString)
            End Try
        End If
        Me.Master.mostrarMenu = False
    End Sub
    Private Sub cargar_ProyectoEtapa() 'modificado por Jorge Luis Felix
        Dim idUsuario As Int32
        twProyectoEtapa.Nodes.Clear()
        proyectos = New List(Of Eproyecto)
        idUsuario = Evolta.idUsuario.ToString
        'proyectos = Rproyecto.SeleccionarTodo(Me.Master.descEmpresa, False, idUsuario)
        proyectos = Rproyecto.SeleccionarXUsuario(Me.Master.descEmpresa, False, idUsuario)
        etapas = New List(Of Eetapa)
        etapas = Retapa.SeleccionarTodo(Me.Master.descEmpresa, False)

        Session("listaEtapa") = etapas
        Session("listaProyecto") = proyectos

        Dim nodo As TreeNode = Nothing
        For Each proyecto As Eproyecto In proyectos
            nodo = New TreeNode(proyecto.descProyecto, proyecto.idProyecto)
            nodo.Target = proyecto.idProyecto
            twProyectoEtapa.Nodes.Add(nodo)
            For Each etapa As Eetapa In etapas
                If proyecto.idProyecto = etapa.idProyecto Then
                    nodo.ChildNodes.Add(New TreeNode(etapa.desEtapa, etapa.idProyecto.ToString & "-" & etapa.idEtapa.ToString))
                End If
            Next
        Next
    End Sub
    Protected Sub twProyectoEtapa_SelectedNodeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles twProyectoEtapa.SelectedNodeChanged
        Dim tv As TreeView = DirectCast(sender, TreeView)
        Dim id As String = Convert.ToString(tv.SelectedNode.Value)
        Dim arr As String() = Split(id, "-")

        etapas = Session("listaEtapa")
        proyectos = Session("listaProyecto")

        If tv.SelectedNode.Parent Is Nothing Then
            If Not proyectos Is Nothing Then
                Dim Lproyectos = From v In proyectos _
                                 Where v.idProyecto.ToString = arr(0) _
                                 Select v
                lblProyecto.Text = Lproyectos.ElementAt(0).descProyecto
                Me.Master.MasterlblProyecto = lblProyecto.Text
                Me.Master.MasterlblEtapa = ""
                lblEtapa.Text = ""
                gvwLista.DataSource = Lproyectos
                gvwLista.DataBind()
            End If
        Else
            If Not etapas Is Nothing Then
                Dim Letapas = From v In etapas _
                              Where v.idProyecto.ToString = arr(0) AndAlso v.idEtapa.ToString = arr(1) _
                              Select v
                lblEtapa.Text = Letapas.ElementAt(0).desEtapa
                Me.Master.MasterlblEtapa = lblEtapa.Text
                lblProyecto.Text = Letapas.ElementAt(0).descProyecto + " - "
                Me.Master.MasterlblProyecto = lblProyecto.Text + " - "

                Evolta = CType(Session("sEVOLTA"), Eevolta)
                With Evolta
                    .idProyecto = Letapas.ElementAt(0).idProyecto
                    .descProyecto = Letapas.ElementAt(0).descProyecto
                    .idEtapa = Letapas.ElementAt(0).idEtapa
                    .descEtapa = Letapas.ElementAt(0).desEtapa
                End With
                Session("sEVOLTA") = Evolta

                gvwLista.DataSource = Letapas
                gvwLista.DataBind()
            End If
        End If
    End Sub
    Protected Sub gvwLista_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvwLista.RowDataBound
        If e.Row.RowType = DataControlRowType.DataRow Then
            e.Row.Attributes.Add("OnMouseOver", "Resaltar_On(this);")
            e.Row.Attributes.Add("OnMouseOut", "Resaltar_Off(this);")
            e.Row.Attributes("OnClick") = Page.ClientScript.GetPostBackClientHyperlink(Me.gvwLista, "Select$" + e.Row.RowIndex.ToString)
            e.Row.Style.Add("cursor", "hand")
        End If
    End Sub
    Protected Sub gvwLista_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles gvwLista.RowEditing
        Me.Master.mostrarMenu = True
        Response.Redirect("~/bienvenida.aspx")
    End Sub

End Class
